package HuaWeiOd.AA;

import java.util.Scanner;

/**
 * 题目描述
 * 日志采集是运维系统的的核心组件。日志是按行生成，每行记做一条，由采集系统分批上报。
 * 如果上报太频繁，会对服务端造成压力；如果上报太晚，会降低用户的体验；如果一次上报的条数太多，会导致超时失败。
 * 为此，项目组设计了如下的上报策略：
 * 1、每成功上报一条日志，奖励 1 分
 * 2、每条日志每延迟上报 1 秒，扣 1 分
 * 3、积累日志达到 100 条，必须立即上报
 * 给出日志序列，根据该规则，计算首次上报能获得的最多积分数
 * 输入描述
 * 按时序产生的日志条数 T1,T2...Tn, 其中 1<=n<=1000, 0<=Ti<=100
 * 输出描述
 * 首次上报最多能获得的积分数
 * @author caihe
 * @date 2023/4/12 9:26
 */
public class 日志采集系统 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        int ans = 0, t = 0;
        for (int i = 0; i < n; i++) {
            if (t + arr[i] <= 100) {
                t += arr[i];
                ans += t;
            } else {
                ans += (100 - t) * (i + 1) + (t + arr[i] - 100) * (i + 2);
                break;
            }
        }
        System.out.println(ans);
//        System.out.println(calculateScore(arr));
    }

    public static int calculateScore(int[] logs) {
        int count = 0;  // 当前已经累积的日志数量
        int lastTime = -1;  // 上次上报的时间，初始值为 -1，表示尚未上报过日志
        int totalScore = 0;  // 能够获得的总积分数
        for (int i = 0; i < logs.length; i++) {
            int score = 0;  // 当前日志能够获得的积分数
            if (count + 1 == 100) {
                score = logs[i] + 1;
            } else if (lastTime >= 0 && lastTime >= logs[i]) {
                score = 0;
            } else {
                score = logs[i] - lastTime;
            }
            count++;
            lastTime = logs[i];
            totalScore += score;
        }
        return totalScore;
    }
}
